JavaScript使用getElementById遇到的“找不到对象”的解决办法(转)
[发布时间:2010-05-09 阅读次数: 6020]
由于刚开始做Web程序,所以老是遇到一些较低级的问题并且还让我头痛不已。今天就遇到了个小鬼。
我在使用document.getElementById(txtTitle).value这行代码,试图获得一个id为txtTitle的textbox的value值,凭直觉程序会给我个满意的答复,让我顺利的进行下一步,但是在调试的时候“运行时错误:找不到对象”的错误却顽固异常。于是就翻阅MSDN,看到文档都是这么说的,应该是没有问题的。问题在哪里呢??
我原来以为是不是因为我的textbox有“runat=server”标记所以抱错呢,但是修改后调试问题还没有解决。
出去抽个烟...
大脑清醒一下效果的确明显:我在调试的时候查看源文件,原来在源文件里面本来应该是id=txtTitle 的textbox空间的id是 id=RequestViewer1_txtTitle 。问题解决了,RequestViewer1是我自己写一个用户控件(UserControl),asp.net为了使用户控件里面的子元素id不至于和其他用户控件的或者页面的子元素id冲突自动把各自的子元素id都加上了用户控件的标识!!
最后我用ClientID来获取对象,把代码修改为:
var txtId =;
var v = document.getElementById(txtId).value;
问题解决了。